namespace ext
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// A split button that provides a built-in dropdown arrow that can fire an event separately from the default
	/// click event of the button. Typically this would be used to display a dropdown menu that provides additional
	/// options to the primary button action, but any custom handler can provide the arrowclick implementation. Example usage:
	/// 
	/// // display a dropdown menu:
	/// new Ext.SplitButton({
	/// renderTo: &apos;button-ct&apos;, // the container id
	/// text: &apos;Options&apos;,
	/// handler: optionsHandler, // handle a click on the button itself
	/// menu: new Ext.menu.Menu({
	/// items: [
	/// // these items will render as dropdown menu items when the arrow is clicked:
	/// {text: &apos;Item 1&apos;, handler: item1Handler},
	/// {text: &apos;Item 2&apos;, handler: item2Handler}
	/// ]
	/// })
	/// });
	///
	/// // Instead of showing a menu, you provide any type of custom
	/// // functionality you want when the dropdown arrow is clicked:
	/// new Ext.SplitButton({
	/// renderTo: &apos;button-ct&apos;,
	/// text: &apos;Options&apos;,
	/// handler: optionsHandler,
	/// arrowHandler: myCustomHandler
	/// });
	/// </summary>
	/// <htmlSummary>
	/// A split button that provides a built-in dropdown arrow that can fire an event separately from the default
	/// click event of the button. Typically this would be used to display a dropdown menu that provides additional
	/// options to the primary button action, but any custom handler can provide the arrowclick implementation. Example usage:
	/// &lt;pre&gt;&lt;code&gt;
	/// // display a dropdown menu:
	/// new Ext.SplitButton({
	/// renderTo: &apos;button-ct&apos;, // the container id
	/// text: &apos;Options&apos;,
	/// handler: optionsHandler, // handle a click on the button itself
	/// menu: new Ext.menu.Menu({
	/// items: [
	/// // these items will render as dropdown menu items when the arrow is clicked:
	/// {text: &apos;Item 1&apos;, handler: item1Handler},
	/// {text: &apos;Item 2&apos;, handler: item2Handler}
	/// ]
	/// })
	/// });
	///
	/// // Instead of showing a menu, you provide any type of custom
	/// // functionality you want when the dropdown arrow is clicked:
	/// new Ext.SplitButton({
	/// renderTo: &apos;button-ct&apos;,
	/// text: &apos;Options&apos;,
	/// handler: optionsHandler,
	/// arrowHandler: myCustomHandler
	/// });
	/// &lt;/code&gt;&lt;/pre&gt;
	/// </htmlSummary>
	/// <definedin>src\widgets\SplitButton.js</definedin>
	[ScriptName("SplitButton")]
	[ScriptNamespace("Ext")]
	[Imported()]
	public partial class SplitButton : ext.Button
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config">The config object</param>
		public SplitButton(object config)
		{
		}
		
		/// <summary>Constructor</summary>
		public SplitButton()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>Fires when this button&apos;s arrow is clicked</summary>
		/// <definedin>src\widgets\SplitButton.js</definedin>
		[ScriptName("arrowclickEventName")]
		public const string ArrowclickEventName = "arrowclick";
		#endregion
		
		#region Methods
		/// <summary>Sets this button&apos;s arrow click handler.</summary>
		/// <definedin>src\widgets\SplitButton.js</definedin>
		/// <param name="handler">The function to call when the arrow is clicked</param>
		/// <param name="scope">Scope for the function passed above</param>
		[ScriptName("setArrowHandler")]
		public void SetArrowHandler(System.Delegate handler, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets this button&apos;s arrow click handler.</summary>
		/// <definedin>src\widgets\SplitButton.js</definedin>
		/// <param name="handler">The function to call when the arrow is clicked</param>
		[ScriptName("setArrowHandler")]
		public void SetArrowHandler(System.Delegate handler)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>Fires when this button&apos;s arrow is clicked</summary>
		/// <definedin>src\widgets\SplitButton.js</definedin>
		[ScriptName("arrowclick")]
		public event ext.auto.Delegate_ext_SplitButton_And_ext_EventObject Arrowclick;
		#endregion
	}
}
